package org.langqiao.algorithm;
/*
 * 某游戏规则中，甲乙双方每个回合的战斗总是有一方胜利，一方失败。
 * 游戏规定：失败的一方要把自己的体力值的1/4加给胜利的一方。
 * 例如：如果双方体力值当前都是4，则经过一轮战斗后，双方的体力值会变为：5，3。
现在已知：双方开始时的体力值甲：1000，乙：2000。
假设战斗中，甲乙获胜的概率都是50%
求解：双方经过4个回合的战斗，体力值之差小于1000的理论概率。
 */
public class Gailv1 {
	
	public static void main(String[] args) {
		
		double  count = 0;
		for(int j = 0;j < 10000;j++) {
			 double d1 = 1000;
			 double d2 = 2000;
			 for(int i = 0;i < 4;i++) {
				 int temp = (int)(Math.random()*2);
				 if(temp == 0) {
					 d1 = d1+d2/4;
					 d2 = 3*d2/4;
				 } else if(temp == 1) {
					 d2 = d2+d1/4;
					 d1 = 3*d1/4;
				 }
			 }
			 
			 if(Math.abs(d1-d2) < 1000) {
				count++;
			 }
		}
		
		System.out.println("小于1000的概率为："+count/10000);
	}
}
